0 FORI=828 TO894:READA:POKEI,A:NEXTI 10 DATA162,1,32,198,255,32,228,255,160,0,145,167,230,167,165,167,201,0,208 20 DATA 2,230,168,166,144,240,235,76,204,255,234,162,1,32,201,255,160,0,177 30 DATA167,32,210,255,230,167,165,167,201,0,208,2,230,168,165,167,197,169,208 40 DATA233,165,168,197,170,208,227,76,204,255 100 POKE 53281,0:POKE 53280,0 103 POKE 55,0:POKE 56,32 105 PRINT"[147]SD PROGRAM COPY D.A.S. 110 [131]***,SEQ,PRG,USR,REL 120 [129] J[178]0 [164] 4:[135] T$(J):[130] 125 [153]"PUT IN SOURCE DISK & PRESS RETURN" 126 [161] K$:[139] K$[178]""[167] 126 127 [153]"ON " 130 D[178]8 140 [159] 15,D,15,"I0":[134]N$(144),L(144),Y$(144),S(25):CT[178]0:MAX[178]112 150 [141] 1000 160 [139] E [167] [144] 170 [153]"HOLD DOWN 'Y' OR 'N' KEY TO SELECT 175 PRINT"PROGRAMS TO BE COPIED..." 180 OPEN 1,D,5,"$0" 182 FOR L=0 TO 141:GET#1,A$:NEXTL 190 J=17:GOSUB 1020 200 NO$=B$:J=2:GOSUB 1020 210 I$=B$:GET#1,A$:J=2:GOSUB 1020 220 O$=B$:FOR L=162 TO 248:GET#1,A$:NEXT 230 PRINT"[145][145][145]NAME: "NO$;" ID:"I$"" 240 FOR P=1 TO 8 250 GET#1,T$,A$,A$ :GOSUB 1000 254 IF T$="" THEN FOR J=1 TO 27:GET#1,A$:NEXT:GOTO340 255 IF T$CHR$(133)THEN 360 290 J= 15:GOSUB 1020 300 N$=B$ 310 GET#1,A$,A$,A$,A$,A$,A$,A$,A$,A$,L$,H$ 320 L=ASC(L$+CHR$(0))+256*ASC(H$+CHR$(0)):L(CT)=L 330 Y$(CT)=T$(ASC(T$)-128) 331 PRINTN$TAB(17)Y$(CT):IF E$<>""THENPRINTTAB(20)"***"E$ 332 GOSUB 1200:IF Y THEN PRINT"[145] [145]":GOTO 340 333 IF L>MAX THEN PRINT" *** PROGRAM TOO LARGE":GOTO340 334 N$(CT)=N$:CT=CT+1 340 IF P<8 THEN GET#1,A$,A$ 350 NEXT P:GET A$:GOTO 240 360 PRINT"* * * * * * * " 365 CLOSE 15:CLOSE1 370 IF CT =0 THEN PRINT"* NO PROGRAMS *":END 380 INPUT"WANT TO NEW THE DESTINATION DISK N[157][157][157]";Z$ 385 OPEN 15,D,15 390 IF Z$="N"THEN GOSUB 1060:GOTO440 400 GOSUB 1060 410 PRINT"[145] " 413 INPUT"[145]DISK NAME,ID";ND$,NI$ 420 PRINT#15,"N0:"+ND$+","+NI$ 430 GOSUB 1000 440 PRINT#15,"I0" 445 PRINT"[145] " 450 GOSUB 1000 460 OPEN1,D,0,"$0:!#$%&" 470 GET#1,A$,A$,A$,A$,A$,A$,A$,A$ 480 GET#1,A$:IF A$<>""THEN 480 490 GET #1,A$,A$,A$:X=ASC(A$+CHR$(0)):GET#1,A$:Y=ASC(A$+CHR$(0)) 500 PRINT"[145] " 510 PRINT"[145]("X+Y*256"BLOCKS FREE)" 520 CLOSE1:C=0:FOR I= 1 TO 800:NEXTI 530 PRINT"[145] ":C=0:LT=0 540 GOSUB 1120 550 S=0:P=0:N=0:POKE 167,0:POKE 168,32 560 IF S+L(LT)>MAX THEN 595 570 S=S+L(LT):P=P+1:LT=LT+1 580 IF LT=CT THEN 595 590 GOTO 560 595 C=LT-P:X=P 600 PRINT"READING: "N$(C) 610 OPEN 1,8,8,"0:"+N$(C)+","+Y$(C)+",R" 615 GOSUB 1000:IF E <> 0THEN PRINT" ***"E$:GOTO630 620 SYS 828 626 S(N)=(PEEK(168)*256)+PEEK(167) 630 CLOSE1 640 C=C+1:N=N+1:X=X-1:IF X=0 THEN 660 650 GOTO 600 660 POKE 167,0:POKE 168,32:N=0:PRINT:GOSUB 1060 670 PRINT"WRITING: "N$(C-P) 680 OPEN 1,8,8,"0:"+N$(C-P)+","+Y$(C-P)+",W" 690 GOSUB 1000:IF E <> 0 THEN PRINT" ***"E$:GOTO710 695 H=INT(S(N)/256):L=S(N)-(H*256) 696 POKE 169,L:POKE 170,H 700 SYS 858 710 CLOSE1 715 N=N+1:P=P-1:IF P=0 THEN 730 720 GOTO670 730 IF C=CT THEN 750 740 PRINT:GOTO 540 750 GOSUB1230 760 IFAN$="Y"THENRUN 770 POKE 56,160:END 1000 INPUT#15,E,E$,E1,E2:IF E=0 THENE$="" 1010 RETURN 1020 B$="" 1030 FOR L= 0 TO J 1040 GET#1,A$:IF A$<>CHR$(96)THEN IF A$<> CHR$(160) THEN B$=B$+A$ 1050 NEXTL:RETURN 1060 PRINT"[145]PUT IN DESTINATION DISK & PRESS RETURN" 1065 GET A$:IF A$=""THEN 1065 1070 GOSUB 1090 1075 IF E THEN PRINT"[145] ":GOTO1060 1080 RETURN 1090 OPEN 2,D,15,"I0":OPEN 1,D,5,"$0":FORI= 1 TO 142:GET#1,A$:NEXT 1100 J=17:GOSUB 1020:NN$=B$:E=0:IF NN$=NO$THEN E=1 1110 CLOSE1:CLOSE2:RETURN 1120 PRINT"[145]PUT IN SOURCE DISK & PRESS RETURN[146]" 1130 GET A$:IF A$=""THEN 1130 1140 GOSUB 1170 1150 IF E THEN PRINT"[145] ":GOTO 1120 1160 RETURN 1170 OPEN 2,D,15,"I0":OPEN 1,D,5,"$0":FOR I=1 TO 142:GET#1,A$:NEXT 1180 J=17:GOSUB 1020:E= 1:IF NO$=B$THEN E=0 1190 CLOSE1:CLOSE2:RETURN 1200 POKE 650,128:GET A$:IF A$=""THEN 1200 1205 POKE 650,0 1210 Y=1:IF A$ ="Y" THEN Y=0 1220 RETURN 1230 INPUT"ANOTHER INPUT DISK";AN$ 1240 IF LEFT$(AN$,1)<>"N"THEN AN$="Y" 1250 RETURN